//
//  BaseSpread.h
//  SujetObserver
//
//  Created by Pierre DUCHENE on 05/03/10.
//  Copyright 2010 Pierre DUCHENE. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "SensorProtocol.h"
#import "SubjectProtocol.h"
#import "SpreadProtocol.h"
#import "ContextProtocol.h"

/*!
    @class       BaseSpread 
    @superclass  NSObject <SpreadProtocol> {
    @abstract    This class is an abstract class. It represente a default spread strategy, without concurrency.
    @discussion  This class must be overide if you want implement a custom behavior for the sensor spreading
*/
@interface BaseSpread : NSObject <SpreadProtocol> {
	// Context
	id<SensorProtocol,SubjectProtocol,ContextProtocol> sensor;
	
	// Concurrency Management
	NSOperationQueue* updateQueue;
}

@property (assign) id<SensorProtocol,SubjectProtocol,ContextProtocol> sensor;

@end
